package com.tianqu.tms.core.webservice.weichat.api;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;

import com.aliyun.openservices.ons.api.SendResult;
import com.tianqu.tms.core.base.Logger;
import com.tianqu.tms.core.util.MobileMessageBo;
import com.tianqu.tms.core.util.StringUtil;
import com.tianqu.tms.core.webservice.weichat.api.mq.StockMqProducer;
import com.tianqu.tms.core.webservice.weichat.api.mq.TransferMqProducer;
import com.tianqu.tms.core.webservice.weichat.api.rpc.AbstractBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.CheckPhotographyInfoBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.CollectCarInfoBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.MemberAddBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.MemberUpdateCarPortBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.RegistrationCarInfoBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.SynAttnBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferAcceptedInfoBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferAcceptedLCInfoBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn0000Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000101Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000205Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000206Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000210Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000211Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000212Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000213Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000430Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000431Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000432Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000433Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000434Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000435Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000436Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000437Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000601Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000602Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000603Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn000604Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn00110Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn00160Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn00161Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn0020Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn0052Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn11000Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn1304Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn1305Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30100Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30300Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30400Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30500Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30600Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30900Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn438Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.TransferFeeInfoBo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.transferserviceI.TransferDataSyn40000Bo;
import com.tianqu.tms.core.webservice.weichat.api.rpc.transferserviceI.TransferDataSyn50000Bo;

import net.chedaiban.wechat.api.mq.protobuf.Rpc.RpcMessage;
import net.chedaiban.wechat.api.mq.protobuf.Rpc.RpcMessage.Builder;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.CheckPhotographyInfo;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.CollectCarInfo;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.MemberAdd;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.MemberUpdateCarPort;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.RegistrationCarInfo;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.SynAttn;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferAcceptedInfo;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferAcceptedLCInfo;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn0000;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000101;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000205;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000206;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000210;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000211;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000212;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000213;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000430;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000431;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000432;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000433;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000434;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000435;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000436;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000437;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000601;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000602;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000603;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn000604;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn00110;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn00160;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn00161;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn0020;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn0052;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn11000;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn1304;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn1305;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn30100;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn30300;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn30400;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn30500;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn30600;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn30800;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn30900;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn40000;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn438;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferDataSyn50000;
import net.chedaiban.wechat.api.mq.protobuf.RpcServiceProto.TransferFeeInfo;

public class WeChatMqApi {
	private Logger logger = Logger.getLogger(WeChatMqApi.class);

	private static StockMqProducer MQ_STOCK_PRODUCTER = StockMqProducer.getInstance();
	private static TransferMqProducer MQ_TRANSFER_PRODUCTER = TransferMqProducer.getInstance();
	private static WeChatMqApi INSTANCE = new WeChatMqApi();

	private WeChatMqApi() {
	}

	public static WeChatMqApi getInstance() {
		return INSTANCE;
	}

	public SendResult call(AbstractBo work) {
		return call(work, true);
	}

	public SendResult call(AbstractBo work, boolean isPersistence) {
		//
		if (work == null)
			return null;

		String log = ToStringBuilder.reflectionToString(work);
		logger.info("send message info:"+log);
		
		Builder message = RpcMessage.newBuilder();
		if (work instanceof TransferDataSyn0000Bo) {
			TransferDataSyn0000Bo bo = (TransferDataSyn0000Bo) work;
			//
			TransferDataSyn0000.Builder data = TransferDataSyn0000.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getBasicCarId()))
				data.setBasicCarId(bo.getBasicCarId());
			if (!StringUtil.isNullOrBlank(bo.getLicensePlate()))
				data.setLicensePlate(bo.getLicensePlate());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			data.setDetailStatus(bo.getDetailStatus());
			data.setMarket(bo.getMarket());
			data.setMarketType(bo.getMarketType());
			//
			message.setPayloadClass("TransferDataSyn0000");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);

		} else if (work instanceof TransferDataSyn0020Bo) {
			TransferDataSyn0020Bo bo = (TransferDataSyn0020Bo) work;
			//
			TransferDataSyn0020.Builder data = TransferDataSyn0020.newBuilder();
			data.setDetailStatus(bo.getDetailStatus());
			data.setFuncNum(bo.getFunc());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			data.setStatus(bo.getStatus());
			//
			message.setPayloadClass("TransferDataSyn0020");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}  else if (work instanceof TransferDataSyn0052Bo) {
			TransferDataSyn0052Bo bo = (TransferDataSyn0052Bo) work;
			//
			TransferDataSyn0052.Builder data = TransferDataSyn0052.newBuilder();
			data.setDetailStatus(bo.getDetailStatus());
			data.setFuncNum(bo.getFunc());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			data.setStatus(bo.getStatus());
			//
			message.setPayloadClass("TransferDataSyn0052");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn00110Bo) {
			TransferDataSyn00110Bo bo = (TransferDataSyn00110Bo) work;
			//
			TransferDataSyn00110.Builder data = TransferDataSyn00110.newBuilder();
			data.setDetailStatus(bo.getDetailStatus());
			data.setFuncNum(bo.getFunc());
			if (!StringUtil.isNullOrBlank(bo.getNewLicensePlate()))
				data.setNewLicensePlate(bo.getNewLicensePlate());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			data.setStatus(bo.getStatus());
			if (!StringUtil.isNullOrBlank(bo.getBasicCarId()))
				data.setBasicCarId(bo.getBasicCarId());
			data.setMarketType(bo.getMarketType());
			if (!StringUtil.isNullOrBlank(bo.getMemberId()))
				data.setMemberId(bo.getMemberId());
			//
			data.setMarketNo(bo.getMarketNo());
			message.setPayloadClass("TransferDataSyn00110");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn00160Bo) {
			TransferDataSyn00160Bo bo = (TransferDataSyn00160Bo) work;
			//
			TransferDataSyn00160.Builder data = TransferDataSyn00160.newBuilder();
			data.setDetailStatus(bo.getDetailStatus());
			data.setFuncNum(bo.getFunc());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			if (!StringUtil.isNullOrBlank(bo.getNewSerial()))
				data.setNewSerial(bo.getNewSerial());
			data.setStatus(bo.getStatus());
			//
			message.setPayloadClass("TransferDataSyn00160");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn00161Bo) {
			TransferDataSyn00161Bo bo = (TransferDataSyn00161Bo) work;
			//
			TransferDataSyn00161.Builder data = TransferDataSyn00161.newBuilder();
			data.setDetailStatus(bo.getDetailStatus());
			data.setFuncNum(bo.getFunc());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			data.setStatus(bo.getStatus());
			//
			message.setPayloadClass("TransferDataSyn00161");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn11000Bo) {
			TransferDataSyn11000Bo bo = (TransferDataSyn11000Bo) work;
			//
			TransferDataSyn11000.Builder data = TransferDataSyn11000.newBuilder();
			data.setDetailStatus(bo.getDetailStatus());
			data.setFuncNum(bo.getFunc());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			data.setStatus(bo.getStatus());
			//
			message.setPayloadClass("TransferDataSyn11000");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn30100Bo) {
			TransferDataSyn30100Bo bo = (TransferDataSyn30100Bo) work;
			//
			TransferDataSyn30100.Builder data = TransferDataSyn30100.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			if (!StringUtil.isNullOrBlank(bo.getLicensePlate()))
				data.setLicensePlate(bo.getLicensePlate());
			if (!StringUtil.isNullOrBlank(bo.getVin()))
				data.setVin(bo.getVin());
			data.setMileage(bo.getMileage());
			if (!StringUtil.isNullOrBlank(bo.getVendorId()))
				data.setVendorId(bo.getVendorId());
			if (!StringUtil.isNullOrBlank(bo.getBrandId()))
				data.setBrandId(bo.getBrandId());
			if (!StringUtil.isNullOrBlank(bo.getCarStyleId()))
				data.setCarStyleId(bo.getCarStyleId());
			data.setColor(bo.getColor());
			if (!StringUtil.isNullOrBlank(bo.getMemberId()))
				data.setMemberId(bo.getMemberId());
			data.setPrice(bo.getPrice());
			if (!StringUtil.isNullOrBlank(bo.getRegDate()))
				data.setRegDate(bo.getRegDate());
			if (!StringUtil.isNullOrBlank(bo.getJqx()))
				data.setJqx(bo.getJqx());
			if (!StringUtil.isNullOrBlank(bo.getYearCarefulPeriod()))
				data.setYearCarefulPeriod(bo.getYearCarefulPeriod());
			if (!StringUtil.isNullOrBlank(bo.getContactPerson()))
				data.setContactPerson(bo.getContactPerson());
			if (!StringUtil.isNullOrBlank(bo.getContactPhone()))
				data.setContactPhone(bo.getContactPhone());
			if (!StringUtil.isNullOrBlank(bo.getRemark()))
				data.setRemark(bo.getRemark());
			if (!StringUtil.isNullOrBlank(bo.getPhoto1()))
				data.setPhoto1(bo.getPhoto1());
			if (!StringUtil.isNullOrBlank(bo.getPhoto2()))
				data.setPhoto2(bo.getPhoto2());
			if (!StringUtil.isNullOrBlank(bo.getPhoto3()))
				data.setPhoto3(bo.getPhoto3());
			if (!StringUtil.isNullOrBlank(bo.getPhoto4()))
				data.setPhoto4(bo.getPhoto4());
			if (!StringUtil.isNullOrBlank(bo.getPhoto5()))
				data.setPhoto5(bo.getPhoto5());
			if (!StringUtil.isNullOrBlank(bo.getPhoto6()))
				data.setPhoto6(bo.getPhoto6());
			if (!StringUtil.isNullOrBlank(bo.getPhoto7()))
				data.setPhoto7(bo.getPhoto7());
			if (!StringUtil.isNullOrBlank(bo.getPhoto8()))
				data.setPhoto8(bo.getPhoto8());
			if (!StringUtil.isNullOrBlank(bo.getMarketNo()))
				data.setMarketNo(bo.getMarketNo());
			data.setIsMatch(bo.getIsMatch());
			data.setRegisterStatus(bo.getRegisterStatus());
			if (!StringUtil.isNullOrBlank(bo.getCarName()))
				data.setCarName(bo.getCarName());
			data.setCatClass(bo.getCatClass());
			data.setIsShelve(bo.getIsShelve());
			data.setAttestStatus(bo.getAttestStatus());
			data.setIsPay(bo.getIsPay());
			data.setPaymentAmount(bo.getPaymentAmount());
			data.setRemarks(bo.getRemarks());
			data.setPushFlag(bo.getPushFlag());
			if (!StringUtil.isNullOrBlank(bo.getConfigKey()))
			data.setConfigKey(bo.getConfigKey());
			if(!StringUtil.isNullOrBlank(bo.getTempLicensePlate())) data.setTempLicensePlate(bo.getTempLicensePlate());
			//
			message.setPayloadClass("TransferDataSyn30100");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn30300Bo) {
			TransferDataSyn30300Bo bo = (TransferDataSyn30300Bo) work;
			//
			TransferDataSyn30300.Builder data = TransferDataSyn30300.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getMarketNo()))
				data.setMarketNo(bo.getMarketNo());
			data.setRegisterStatus(bo.getRegisterStatus());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			data.setUsedCarPort(bo.getUsedCarPort());
			if(bo.getStorageTime() > 0) data.setStorageTime(bo.getStorageTime());
			//
			message.setPayloadClass("TransferDataSyn30300");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn30400Bo) {
			TransferDataSyn30400Bo bo = (TransferDataSyn30400Bo) work;
			//
			TransferDataSyn30400.Builder data = TransferDataSyn30400.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getMarketNo()))
				data.setMarketNo(bo.getMarketNo());
			data.setRegisterStatus(bo.getRegisterStatus());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			data.setUsedCarPort(bo.getUsedCarPort());
			if(bo.getEnterTime() >0) data.setEnterTime(bo.getEnterTime());
			//
			message.setPayloadClass("TransferDataSyn30400");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn30500Bo) {
			TransferDataSyn30500Bo bo = (TransferDataSyn30500Bo) work;
			//
			TransferDataSyn30500.Builder data = TransferDataSyn30500.newBuilder();
			data.setBarCodeNum(bo.getBarCodeNum());
			data.setIsPush(bo.getIsPush());
			if (!StringUtil.isNullOrBlank(bo.getMarketNo()))
				data.setMarketNo(bo.getMarketNo());
			if (!StringUtil.isNullOrBlank(bo.getMemberId()))
				data.setMemberId(bo.getMemberId());
			if (!StringUtil.isNullOrBlank(bo.getPushContent()))
				data.setPushContent(bo.getPushContent());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			if (!StringUtil.isNullOrBlank(bo.getStartTime())) 
				data.setStartTime(bo.getStartTime());
			if (!StringUtil.isNullOrBlank(bo.getEndTime())) 
				data.setEndTime(bo.getEndTime());
			//
			message.setPayloadClass("TransferDataSyn30500");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn30600Bo) {
			TransferDataSyn30600Bo bo = (TransferDataSyn30600Bo) work;
			//
			TransferDataSyn30600.Builder data = TransferDataSyn30600.newBuilder();
			data.setIsPush(bo.getIsPush());
			if (!StringUtil.isNullOrBlank(bo.getMarketNo()))
				data.setMarketNo(bo.getMarketNo());
			if (!StringUtil.isNullOrBlank(bo.getMemberId()))
				data.setMemberId(bo.getMemberId());
			if (!StringUtil.isNullOrBlank(bo.getPushContent()))
				data.setPushContent(bo.getPushContent());
			data.setRegisterStatus(bo.getRegisterStatus());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			//
			message.setPayloadClass("TransferDataSyn30600");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30800) {
			com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30800 bo = (com.tianqu.tms.core.webservice.weichat.api.rpc.TransferDataSyn30800) work;
			//
			TransferDataSyn30800.Builder data = TransferDataSyn30800.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getLicensePlate()))
				data.setLicensePlate(bo.getLicensePlate());
			if (!StringUtil.isNullOrBlank(bo.getMarketNo()))
				data.setMarketNo(bo.getMarketNo());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			if (!StringUtil.isNullOrBlank(bo.getTempLicensePlate())) data.setTempLicensePlate(bo.getTempLicensePlate());
			//
			message.setPayloadClass("TransferDataSyn30800");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn30900Bo) {
			TransferDataSyn30900Bo bo = (TransferDataSyn30900Bo) work;
			//
			TransferDataSyn30900.Builder data = TransferDataSyn30900.newBuilder();
			data.setIsPush(bo.getIsPush());
			if (!StringUtil.isNullOrBlank(bo.getMarketNo()))
				data.setMarketNo(bo.getMarketNo());
			if (!StringUtil.isNullOrBlank(bo.getMemberIdA()))
				data.setMemberIdA(bo.getMemberIdA());
			if (!StringUtil.isNullOrBlank(bo.getMemberIdB()))
				data.setMemberIdB(bo.getMemberIdB());
			if (!StringUtil.isNullOrBlank(bo.getPushContentA()))
				data.setPushContentA(bo.getPushContentA());
			if (!StringUtil.isNullOrBlank(bo.getPushContentB()))
				data.setPushContentB(bo.getPushContentB());
			// #111
            if (!StringUtil.isNullOrBlank(bo.getContactPerson()))
                data.setContactPerson(bo.getContactPerson());
            if (!StringUtil.isNullOrBlank(bo.getContactPhone()))
                data.setContactPhone(bo.getContactPhone());
			data.setRegisterStatus(bo.getRegisterStatus());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			//
			message.setPayloadClass("TransferDataSyn30900");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn40000Bo) {
			TransferDataSyn40000Bo bo = (TransferDataSyn40000Bo) work;
			//
			TransferDataSyn40000.Builder data = TransferDataSyn40000.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getAuctionDeadline()))
				data.setAuctionDeadline(bo.getAuctionDeadline());
			if (!StringUtil.isNullOrBlank(bo.getBidType()))
				data.setBidType(bo.getBidType());
			if (!StringUtil.isNullOrBlank(bo.getBirthday()))
				data.setBirthday(bo.getBirthday());
			if (!StringUtil.isNullOrBlank(bo.getBrandId()))
				data.setBrandId(bo.getBrandId());
			if (!StringUtil.isNullOrBlank(bo.getCarName()))
				data.setCarName(bo.getCarName());
			if (!StringUtil.isNullOrBlank(bo.getCarOwner()))
				data.setCarOwner(bo.getCarOwner());
			if (!StringUtil.isNullOrBlank(bo.getCarOwnerIdCardNo()))
				data.setCarOwnerIdCardNo(bo.getCarOwnerIdCardNo());
			if (!StringUtil.isNullOrBlank(bo.getCarStyleId()))
				data.setCarStyleId(bo.getCarStyleId());
			if (!StringUtil.isNullOrBlank(bo.getColor()))
				data.setColor(bo.getColor());
			if (!StringUtil.isNullOrBlank(bo.getContactPerson()))
				data.setContactPerson(bo.getContactPerson());
			if (!StringUtil.isNullOrBlank(bo.getContactPhone()))
				data.setContactPhone(bo.getContactPhone());
			if (!StringUtil.isNullOrBlank(bo.getId()))
				data.setId(bo.getId());
			if (!StringUtil.isNullOrBlank(bo.getJqx()))
				data.setJqx(bo.getJqx());
			if (!StringUtil.isNullOrBlank(bo.getLicensePlate()))
				data.setLicensePlate(bo.getLicensePlate());
			if (!StringUtil.isNullOrBlank(bo.getMileage()))
				data.setMileage(bo.getMileage());
			if (!StringUtil.isNullOrBlank(bo.getOwnerAddress()))
				data.setOwnerAddress(bo.getOwnerAddress());
			if (!StringUtil.isNullOrBlank(bo.getOwnerPhone()))
				data.setOwnerPhone(bo.getOwnerPhone());
			if (!StringUtil.isNullOrBlank(bo.getOwnerType()))
				data.setOwnerType(bo.getOwnerType());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_1()))
				data.setPhoto1(bo.getPhoto_1());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_10()))
				data.setPhoto10(bo.getPhoto_10());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_11()))
				data.setPhoto11(bo.getPhoto_11());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_12()))
				data.setPhoto12(bo.getPhoto_12());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_13()))
				data.setPhoto13(bo.getPhoto_13());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_14()))
				data.setPhoto14(bo.getPhoto_14());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_15()))
				data.setPhoto15(bo.getPhoto_15());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_16()))
				data.setPhoto16(bo.getPhoto_16());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_17()))
				data.setPhoto17(bo.getPhoto_17());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_18()))
				data.setPhoto18(bo.getPhoto_18());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_19()))
				data.setPhoto19(bo.getPhoto_19());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_2()))
				data.setPhoto2(bo.getPhoto_2());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_20()))
				data.setPhoto20(bo.getPhoto_20());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_21()))
				data.setPhoto21(bo.getPhoto_21());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_22()))
				data.setPhoto22(bo.getPhoto_22());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_3()))
				data.setPhoto3(bo.getPhoto_3());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_4()))
				data.setPhoto4(bo.getPhoto_4());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_5()))
				data.setPhoto5(bo.getPhoto_5());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_6()))
				data.setPhoto6(bo.getPhoto_6());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_7()))
				data.setPhoto7(bo.getPhoto_7());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_8()))
				data.setPhoto8(bo.getPhoto_8());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_9()))
				data.setPhoto9(bo.getPhoto_9());
			if (!StringUtil.isNullOrBlank(bo.getPrice()))
				data.setPrice(bo.getPrice());
			if (!StringUtil.isNullOrBlank(bo.getRegDate()))
				data.setRegDate(bo.getRegDate());
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			if (!StringUtil.isNullOrBlank(bo.getSex()))
				data.setSex(bo.getSex());
			if (!StringUtil.isNullOrBlank(bo.getStartTime()))
				data.setStartTime(bo.getStartTime());
			if (!StringUtil.isNullOrBlank(bo.getVendorId()))
				data.setVendorId(bo.getVendorId());
			if (!StringUtil.isNullOrBlank(bo.getVin()))
				data.setVin(bo.getVin());
			if (!StringUtil.isNullOrBlank(bo.getYearCarefulPeriod()))
				data.setYearCarefulPeriod(bo.getYearCarefulPeriod());
			//
			message.setPayloadClass("TransferDataSyn40000");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn50000Bo) {
			TransferDataSyn50000Bo bo = (TransferDataSyn50000Bo) work;
			//
			TransferDataSyn50000.Builder data = TransferDataSyn50000.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getMarginType()))
				data.setMarginType(bo.getMarginType());
			if (!StringUtil.isNullOrBlank(bo.getMemberId()))
				data.setMemberId(bo.getMemberId());
			if (!StringUtil.isNullOrBlank(bo.getPrice()))
				data.setPrice(bo.getPrice());
			if (!StringUtil.isNullOrBlank(bo.getRemark()))
				data.setRemark(bo.getRemark());
			if (!StringUtil.isNullOrBlank(bo.getTreatment()))
				data.setTreatment(bo.getTreatment());
			if (!StringUtil.isNullOrBlank(bo.getWeixinMessage()))
				data.setWeixinMessage(bo.getWeixinMessage());
			//
			message.setPayloadClass("TransferDataSyn50000");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn000601Bo) {
			TransferDataSyn000601Bo bo = (TransferDataSyn000601Bo) work;
			//
			TransferDataSyn000601.Builder data = TransferDataSyn000601.newBuilder();
			data.setMemberId(bo.getMemberId() + "");
			data.setPushContent(bo.getPushContent());
			//
			message.setPayloadClass("TransferDataSyn000601");
			message.setPayloadData(data.build().toByteString());
			MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn000602Bo) {
			TransferDataSyn000602Bo bo = (TransferDataSyn000602Bo) work;
			//
			TransferDataSyn000602.Builder data = TransferDataSyn000602.newBuilder();
			data.setUserId(bo.getUserId() + "");
			data.setPushContent(bo.getPushContent());
			//
			message.setPayloadClass("TransferDataSyn000602");
			message.setPayloadData(data.build().toByteString());
			MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}  else if (work instanceof TransferDataSyn000604Bo) {
			TransferDataSyn000604Bo bo = (TransferDataSyn000604Bo) work;
			//
			TransferDataSyn000604.Builder data = TransferDataSyn000604.newBuilder();
			data.setWeixin(bo.getWeixin() + "");
			data.setPushContent(bo.getPushContent());
			//
			message.setPayloadClass("TransferDataSyn000604");
			message.setPayloadData(data.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn000603Bo) {
			TransferDataSyn000603Bo bo = (TransferDataSyn000603Bo) work;
			//
			TransferDataSyn000603.Builder data = TransferDataSyn000603.newBuilder();
			data.setAttnId(bo.getAttnId());
			data.setPushContent(bo.getPushContent());
			//
			message.setPayloadClass("TransferDataSyn000603");
			message.setPayloadData(data.build().toByteString());
//			MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof MemberAddBo) {
			MemberAddBo bo = (MemberAddBo) work;
			MemberAdd.Builder data = MemberAdd.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getMarketNo()))
				data.setMarketNo(bo.getMarketNo());
			if (!StringUtil.isNullOrBlank(bo.getMemberId()))
				data.setMemberId(bo.getMemberId());
			if (!StringUtil.isNullOrBlank(bo.getRealName()))
				data.setRealName(bo.getRealName());
			if (!StringUtil.isNullOrBlank(bo.getShortName()))
				data.setShortName(bo.getShortName());
			if (!StringUtil.isNullOrBlank(bo.getRealNamePy()))
				data.setRealNamePy(bo.getRealNamePy());
			//
			message.setPayloadClass("MemberAdd");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof MemberUpdateCarPortBo) {
			MemberUpdateCarPortBo bo = (MemberUpdateCarPortBo) work;
			MemberUpdateCarPort.Builder data = MemberUpdateCarPort.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getMemberId()))
				data.setMemberId(bo.getMemberId());
			data.setCarPort(bo.getCarPort());
			data.setUmid(bo.getUmid());
			data.setRecommend(bo.getRecommend());
			//
			message.setPayloadClass("MemberUpdateCarPort");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof MobileMessageBo) {
			MobileMessageBo bo = (MobileMessageBo) work;
			try {
				//TODO::SEND MAIL
//				Client client = new Client("SDK-DLS-010-00344", "911922");
//				client.mt(bo.getPhone(), bo.getContent(), "", "", "");
			} catch (Exception e) {
				logger.error(e);
			}
		} else if (work instanceof CollectCarInfoBo) {
			CollectCarInfoBo collectCarInfo = (CollectCarInfoBo) work;
			CollectCarInfo.Builder data = CollectCarInfo.newBuilder();
			if (!StringUtil.isNullOrBlank(collectCarInfo.getVinCode()))
				data.setVinCode(collectCarInfo.getVinCode());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhotoVinInfo()))
				data.setPhotoVinInfo(collectCarInfo.getPhotoVinInfo());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhotoVinPath()))
				data.setPhotoVinPath(collectCarInfo.getPhotoVinPath());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCarImgInfo()))
				data.setCarImgInfo(collectCarInfo.getCarImgInfo());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhoto_1()))
				data.setPhoto1(collectCarInfo.getPhoto_1());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhoto_2()))
				data.setPhoto2(collectCarInfo.getPhoto_2());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhoto_3()))
				data.setPhoto3(collectCarInfo.getPhoto_3());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhoto_4()))
				data.setPhoto4(collectCarInfo.getPhoto_4());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhoto_5()))
				data.setPhoto5(collectCarInfo.getPhoto_5());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhoto_6()))
				data.setPhoto6(collectCarInfo.getPhoto_6());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhoto_7()))
				data.setPhoto7(collectCarInfo.getPhoto_7());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getPhoto_8()))
				data.setPhoto8(collectCarInfo.getPhoto_8());
			data.setMileage(collectCarInfo.getMileage());
			data.setAttestStatus(collectCarInfo.getAttestStatus());
			data.setCheckStatus(collectCarInfo.getCheckStatus());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckImgInfo()))
				data.setCheckImgInfo(collectCarInfo.getCheckImgInfo());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckImgPath()))
				data.setCheckImgPath(collectCarInfo.getCheckImgPath());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getInsertTime()))
				data.setInsertTime(collectCarInfo.getInsertTime());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getInsertUserName()))
				data.setInsertTime(collectCarInfo.getInsertUserName());
			data.setMarketNo(collectCarInfo.getMarketNo());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_1()))
				data.setCheckPhoto1(collectCarInfo.getCheckPhoto_1());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_2()))
				data.setCheckPhoto2(collectCarInfo.getCheckPhoto_2());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_3()))
				data.setCheckPhoto3(collectCarInfo.getCheckPhoto_3());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_4()))
				data.setCheckPhoto4(collectCarInfo.getCheckPhoto_4());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_5()))
				data.setCheckPhoto5(collectCarInfo.getCheckPhoto_5());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_6()))
				data.setCheckPhoto6(collectCarInfo.getCheckPhoto_6());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_7()))
				data.setCheckPhoto7(collectCarInfo.getCheckPhoto_7());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_8()))
				data.setCheckPhoto8(collectCarInfo.getCheckPhoto_8());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_9()))
				data.setCheckPhoto9(collectCarInfo.getCheckPhoto_9());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_10()))
				data.setCheckPhoto10(collectCarInfo.getCheckPhoto_10());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_11()))
				data.setCheckPhoto11(collectCarInfo.getCheckPhoto_11());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_12()))
				data.setCheckPhoto12(collectCarInfo.getCheckPhoto_12());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_13()))
				data.setCheckPhoto13(collectCarInfo.getCheckPhoto_13());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_14()))
				data.setCheckPhoto14(collectCarInfo.getCheckPhoto_14());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPhoto_15()))
				data.setCheckPhoto15(collectCarInfo.getCheckPhoto_15());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPicImgInfo()))
				data.setCheckPicImgInfo(collectCarInfo.getCheckPicImgInfo());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getCheckPicImgPath()))
				data.setCheckImgPath(collectCarInfo.getCheckPicImgPath());
			if (!StringUtil.isNullOrBlank(collectCarInfo.getSerial()))
				data.setSerial(collectCarInfo.getSerial());
			data.setEntryStatus(collectCarInfo.getEntryStatus());
			data.setColor(collectCarInfo.getColor());
			message.setPayloadClass("CollectCarInfo");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferAcceptedInfoBo) {
			TransferAcceptedInfoBo bo = (TransferAcceptedInfoBo) work;
			TransferAcceptedInfo.Builder data = TransferAcceptedInfo.newBuilder();
			if (!StringUtil.isNullOrBlank(bo.getSerial()))
				data.setSerial(bo.getSerial());
			if (!StringUtil.isNullOrBlank(bo.getBasicCarId()))
				data.setBasicCarId(bo.getBasicCarId());
			if (!StringUtil.isNullOrBlank(bo.getVin()))
				data.setVin(bo.getVin());
			if (!StringUtil.isNullOrBlank(bo.getVendorId()))
				data.setVendorId(bo.getVendorId());
			if (!StringUtil.isNullOrBlank(bo.getBrandId()))
				data.setBrandId(bo.getBrandId());
			if (!StringUtil.isNullOrBlank(bo.getCarStyleId()))
				data.setCarStyleId(bo.getCarStyleId());
			if (!StringUtil.isNullOrBlank(bo.getCarName()))
				data.setCarName(bo.getCarName());
			if (!StringUtil.isNullOrBlank(bo.getPhoto_1()))
				data.setPhoto1(bo.getPhoto_1());
			if (!StringUtil.isNullOrBlank(bo.getMemberId()))
				data.setMemberId(bo.getMemberId());
			data.setMarketType(bo.getMarketType());
			data.setLicensePlate(bo.getLicensePlate());
			data.setCyCardType(bo.getCyCardType());
			data.setCarClass(bo.getCarClass());
			data.setLicensePlateCol(bo.getLicensePlateCol());
			data.setIsMatch(bo.getIsMatch());
			data.setStatus(bo.getStatus());
			data.setMarketNo(Integer.parseInt(bo.getMarketNo()));
			//
			message.setPayloadClass("TransferAcceptedInfo");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof RegistrationCarInfoBo) {
			RegistrationCarInfoBo registrationCarInfo = (RegistrationCarInfoBo) work;
			RegistrationCarInfo.Builder data = RegistrationCarInfo.newBuilder();
			data.setErrorMsg(registrationCarInfo.getReason());
			message.setPayloadClass("RegistrationCarInfo");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferFeeInfoBo) {
			TransferFeeInfoBo transferFeeBo = (TransferFeeInfoBo) work;
			TransferFeeInfo.Builder data = TransferFeeInfo.newBuilder();
			data.setMemberId(transferFeeBo.getMemberId());
			data.setMemberType(transferFeeBo.getMemberType());
			data.setTransferPrice(transferFeeBo.getTransferPrice());
			data.setChargeType(transferFeeBo.getChargeType());
			data.setRemark(transferFeeBo.getRemark());
			data.setPlusMinus(transferFeeBo.getPlusMinus());
			data.setPushContent(transferFeeBo.getPushContent());
			data.setRecharge(transferFeeBo.getRecharge());
			data.setRechargeTime(transferFeeBo.getRechargeTime());
			//
			message.setPayloadClass("TransferFeeInfo");
			message.setPayloadData(data.build().toByteString());
			MQ_STOCK_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof CheckPhotographyInfoBo) {
			CheckPhotographyInfoBo checkPhotographyInfo = (CheckPhotographyInfoBo) work;
			CheckPhotographyInfo.Builder data = CheckPhotographyInfo.newBuilder();
			data.setSerial(checkPhotographyInfo.getSerial());
			data.setMarketType(checkPhotographyInfo.getMarketType());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getLicensePlate()))
			data.setLicensePlate(checkPhotographyInfo.getLicensePlate());
			data.setCyCardType(checkPhotographyInfo.getCy_cardType());
			data.setBusinessType(checkPhotographyInfo.getCarClass());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getCarOwner()))
			data.setCarOwner(checkPhotographyInfo.getCarOwner());
			data.setLicenseType(Integer.parseInt(checkPhotographyInfo.getLicenseType()));
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getBasicCarId()))
			data.setBasicCarId(checkPhotographyInfo.getBasicCarId());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getVin()))
			data.setVin(checkPhotographyInfo.getVin());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getVendorId()))
			data.setVendorId(checkPhotographyInfo.getVendorId());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getBrandId()))
			data.setBrandId(checkPhotographyInfo.getBrandId());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getCarStyleId()))
			data.setCarStyleId(checkPhotographyInfo.getCarStyleId());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getCarName()))
			data.setCarName(checkPhotographyInfo.getCarName());
			data.setIsMatch(checkPhotographyInfo.getIsMatch());
			data.setDetailStatus(checkPhotographyInfo.getDetailStatus());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getPhoto_1()))
			data.setPhoto1(checkPhotographyInfo.getPhoto_1());
			if (!StringUtil.isNullOrBlank(checkPhotographyInfo.getMemberId()))
			data.setMemberId(checkPhotographyInfo.getMemberId());
			data.setStatus(checkPhotographyInfo.getStatus());
			data.setMarketNo(Integer.parseInt(checkPhotographyInfo.getUserMarket()));
			
			message.setPayloadClass("CheckPhotographyInfo");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000101Bo) {
			TransferDataSyn000101Bo transferDataSyn000101 = (TransferDataSyn000101Bo) work;
			TransferDataSyn000101.Builder data = TransferDataSyn000101.newBuilder();
			data.setLicensePlate(transferDataSyn000101.getLicensePlate());
			data.setMemberId(transferDataSyn000101.getMemberId());
			data.setMemberType(transferDataSyn000101.getMemberType());
			data.setSerial(transferDataSyn000101.getSerial());
			data.setIntegral(transferDataSyn000101.getIntegral());
			data.setTransferPrice(transferDataSyn000101.getTransferPrice());
			message.setPayloadClass("TransferDataSyn000101");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferAcceptedLCInfoBo) {
			TransferAcceptedLCInfoBo transferAcceptedLCInfo = (TransferAcceptedLCInfoBo) work;
			TransferAcceptedLCInfo.Builder data = TransferAcceptedLCInfo.newBuilder();;
			data.setSerial(transferAcceptedLCInfo.getSerial());
			data.setCarOwner(transferAcceptedLCInfo.getCarOwner());
			data.setDetailStatus(transferAcceptedLCInfo.getDetailStatus());
			message.setPayloadClass("TransferAcceptedLCInfo");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000205Bo) {
			TransferDataSyn000205Bo transferDataSyn000205Info = (TransferDataSyn000205Bo) work;
			TransferDataSyn000205.Builder data = TransferDataSyn000205.newBuilder();;
			data.setSerial(transferDataSyn000205Info.getSerial());
			data.setMemberId(transferDataSyn000205Info.getMemberId());
			data.setRegisterStatus(transferDataSyn000205Info.getRegisterStatus());
			data.setPushFlag(transferDataSyn000205Info.getPushFlag());
			data.setPushText(transferDataSyn000205Info.getPushText());
			data.setMarketNo(Integer.valueOf(transferDataSyn000205Info.getMarketNo()));
			data.setIdTollage(transferDataSyn000205Info.getIdTollage());
			data.setTransferPrice(transferDataSyn000205Info.getTransferPrice());
			data.setRemarks(transferDataSyn000205Info.getRemarks());			
			message.setPayloadClass("TransferDataSyn000205");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000206Bo) {
			TransferDataSyn000206Bo transferDataSyn000206Info = (TransferDataSyn000206Bo) work;
			TransferDataSyn000206.Builder data = TransferDataSyn000206.newBuilder();;
			data.setSerial(transferDataSyn000206Info.getSerial());
			data.setMemberId(transferDataSyn000206Info.getMemberId());
			data.setPushText(transferDataSyn000206Info.getPushText());
			data.setMarketNo(Integer.valueOf(transferDataSyn000206Info.getMarketNo()));
			data.setTransferPrice(transferDataSyn000206Info.getTransferPrice());
			data.setRemarks(transferDataSyn000206Info.getRemarks());			
			message.setPayloadClass("TransferDataSyn000206");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000210Bo) {
			TransferDataSyn000210Bo transferDataSyn000210Bo = (TransferDataSyn000210Bo) work;
			TransferDataSyn000210.Builder data = TransferDataSyn000210.newBuilder();
			data.setManager(transferDataSyn000210Bo.getManager());
			data.setMarketNo(transferDataSyn000210Bo.getMarketNo());
			data.setMemberId(transferDataSyn000210Bo.getMemberId());
			data.setPushMessage(transferDataSyn000210Bo.getPushMessage());
			data.setSerial(transferDataSyn000210Bo.getSerial());
			message.setPayloadClass("TransferDataSyn000210");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000211Bo) {
			TransferDataSyn000211Bo transferDataSyn0211Bo = (TransferDataSyn000211Bo) work;
			TransferDataSyn000211.Builder data = TransferDataSyn000211.newBuilder();
			data.setSerial(transferDataSyn0211Bo.getSerial());
			data.setLicensePlate(transferDataSyn0211Bo.getLicensePlate());
			data.setVin(transferDataSyn0211Bo.getVin());
			data.setMemberId(transferDataSyn0211Bo.getMemberId());
			data.setCatClass(transferDataSyn0211Bo.getCatClass());
			data.setVendorId(transferDataSyn0211Bo.getVendorId());
			data.setBrandId(transferDataSyn0211Bo.getBrandId());
			data.setCarStyleId(transferDataSyn0211Bo.getCarStyleId());
			data.setMileage(transferDataSyn0211Bo.getMileage());
			data.setPrice(transferDataSyn0211Bo.getPrice());
			data.setColor(transferDataSyn0211Bo.getColor());
			data.setRegDate(transferDataSyn0211Bo.getRegDate());
			data.setJqx(transferDataSyn0211Bo.getJqx());
			data.setYearCarefulPeriod(transferDataSyn0211Bo.getYearCarefulPeriod());
			data.setCompanyContactPerson(transferDataSyn0211Bo.getCompanyContactPerson());
			data.setCompanyContactPhone(transferDataSyn0211Bo.getCompanyContactPhone());
			if(StringUtils.isNotBlank(transferDataSyn0211Bo.getRemark())) data.setRemark(transferDataSyn0211Bo.getRemark());
			data.setConfigKey(transferDataSyn0211Bo.getConfigKey());
			data.setMarketNo(transferDataSyn0211Bo.getMarketNo());
			data.setIsMatch(transferDataSyn0211Bo.getIsMatch());
			data.setCarName(transferDataSyn0211Bo.getCarName());
			data.setIsShelve(transferDataSyn0211Bo.getIsShelve());
			data.setRegisterStatus(transferDataSyn0211Bo.getRegisterStatus());
			data.setEntryStatus(transferDataSyn0211Bo.getEntryStatus());
			data.setBarCodeNum(transferDataSyn0211Bo.getBarCodeNum());
			message.setPayloadClass("TransferDataSyn000211");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000212Bo) {
			TransferDataSyn000212Bo transferDataSyn000212Bo = (TransferDataSyn000212Bo) work;
			TransferDataSyn000212.Builder data = TransferDataSyn000212.newBuilder();
			data.setSerial(transferDataSyn000212Bo.getSerial());
			data.setPhoto1(transferDataSyn000212Bo.getPhoto1());
			data.setPhoto2(transferDataSyn000212Bo.getPhoto2());
			data.setPhoto3(transferDataSyn000212Bo.getPhoto3());
			data.setPhoto4(transferDataSyn000212Bo.getPhoto4());
			data.setPhoto5(transferDataSyn000212Bo.getPhoto5());
			data.setPhoto6(transferDataSyn000212Bo.getPhoto6());
			data.setPhoto7(transferDataSyn000212Bo.getPhoto7());
			data.setPhoto8(transferDataSyn000212Bo.getPhoto8());
			data.setMarketNo(transferDataSyn000212Bo.getMarketNo());
			message.setPayloadClass("TransferDataSyn000212");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000213Bo) {
			TransferDataSyn000213Bo transferDataSyn000213Bo = (TransferDataSyn000213Bo) work;
			TransferDataSyn000213.Builder data = TransferDataSyn000213.newBuilder();
			data.setSerial(transferDataSyn000213Bo.getSerial());
			data.setAttestStatus(transferDataSyn000213Bo.getAttestStatus());
			data.setInternalScore(transferDataSyn000213Bo.getInternalScore());
			data.setExternalScore(transferDataSyn000213Bo.getExternalScore());
			data.setDetectRemark(transferDataSyn000213Bo.getDetectRemark());
			data.setMarketNo(transferDataSyn000213Bo.getMarketNo());
			message.setPayloadClass("TransferDataSyn000213");
			message.setPayloadData(data.build().toByteString());
			return MQ_STOCK_PRODUCTER.send(message, isPersistence);
		}
		else if (work instanceof TransferDataSyn000430Bo) {
			TransferDataSyn000430Bo bo = (TransferDataSyn000430Bo) work;
			TransferDataSyn000430.Builder d = TransferDataSyn000430.newBuilder();
			if(StringUtils.isNotEmpty(bo.getSerial())) d.setSerial(bo.getSerial());
			if(StringUtils.isNotEmpty(bo.getVin())) d.setVin(bo.getVin());
			if(StringUtils.isNotEmpty(bo.getVendorCode())) d.setVendorCode(bo.getVendorCode());
			if(StringUtils.isNotEmpty(bo.getModelCode())) d.setModelCode(bo.getModelCode());
			d.setCardType(bo.getCardType());
			d.setCountryStyle(bo.getCountryStyle());
			d.setCarUse(bo.getCarUse());
			d.setCarType(bo.getCarType());
			if(StringUtils.isNotEmpty(bo.getRegiesterCardNo()))d.setRegiesterCardNo(bo.getRegiesterCardNo());
			if(StringUtils.isNotEmpty(bo.getRegDate()))d.setRegDate(bo.getRegDate());
			if(StringUtils.isNotEmpty(bo.getAttachMemberId()))d.setAttachMemberId(bo.getAttachMemberId());
			d.setOwnerType(bo.getOwnerType());
			if(StringUtils.isNotEmpty(bo.getOwnerOrgNo()))d.setOwnerOrgNo(bo.getOwnerOrgNo());
			if(StringUtils.isNotEmpty(bo.getCarOwnerIdCardNo()))d.setCarOwnerIdCardNo(bo.getCarOwnerIdCardNo());
			if(StringUtils.isNotEmpty(bo.getCarOwner()))d.setCarOwner(bo.getCarOwner());
			if(StringUtils.isNotEmpty(bo.getOwnerPhone()))d.setOwnerPhone(bo.getOwnerPhone());
			if(StringUtils.isNotEmpty(bo.getOwnerAddress()))d.setOwnerAddress(bo.getOwnerAddress());
			d.setOwnerSex(bo.getOwnerSex());
			if(StringUtils.isNotEmpty(bo.getOwnerBirth()))d.setOwnerBirth(bo.getOwnerBirth());
			if(StringUtils.isNotEmpty(bo.getAgentOwnerIdCardNo()))d.setAgentOwnerIdCardNo(bo.getAgentOwnerIdCardNo());
			if(StringUtils.isNotEmpty(bo.getAgentName()))d.setAgentName(bo.getAgentName());
			if(StringUtils.isNotEmpty(bo.getAgentPhone()))d.setAgentPhone(bo.getAgentPhone());
			if(StringUtils.isNotEmpty(bo.getAgentAddress()))d.setAgentAddress(bo.getAgentAddress());
			if(StringUtils.isNotEmpty(bo.getMaterialImages1()))d.setMaterialImages1(bo.getMaterialImages1());
			if(StringUtils.isNotEmpty(bo.getMaterialImages2()))d.setMaterialImages2(bo.getMaterialImages2());
			if(StringUtils.isNotEmpty(bo.getMaterialImages3()))d.setMaterialImages3(bo.getMaterialImages3());
			if(StringUtils.isNotEmpty(bo.getMaterialImages4()))d.setMaterialImages4(bo.getMaterialImages4());
			if(StringUtils.isNotEmpty(bo.getMaterialImages5()))d.setMaterialImages5(bo.getMaterialImages5());
			if(StringUtils.isNotEmpty(bo.getMaterialImages6()))d.setMaterialImages6(bo.getMaterialImages6());
			if(StringUtils.isNotEmpty(bo.getMaterialImages7()))d.setMaterialImages7(bo.getMaterialImages7());
			if(StringUtils.isNotEmpty(bo.getMaterialImages8()))d.setMaterialImages8(bo.getMaterialImages8());
			if(StringUtils.isNotEmpty(bo.getMaterialImages9()))d.setMaterialImages9(bo.getMaterialImages9());
			if(StringUtils.isNotEmpty(bo.getMaterialImages10()))d.setMaterialImages10(bo.getMaterialImages10());
			if(StringUtils.isNotEmpty(bo.getMarketNo()))d.setMarketNo(bo.getMarketNo());
			d.setCatClass(bo.getCatClass());
			if(StringUtils.isNotEmpty(bo.getVendorId()))d.setVendorId(bo.getVendorId());
			if(StringUtils.isNotEmpty(bo.getBrandId()))d.setBrandId(bo.getBrandId());
			if(StringUtils.isNotEmpty(bo.getCarStyleId()))d.setCarStyleId(bo.getCarStyleId());
			if(StringUtils.isNotEmpty(bo.getCarName()))	d.setCarName(bo.getCarName());
			d.setIsMatch(bo.getIsMatch());
			message.setPayloadClass("TransferDataSyn000430");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}
		else if (work instanceof TransferDataSyn000431Bo) {
			TransferDataSyn000431Bo bo = (TransferDataSyn000431Bo) work;
			TransferDataSyn000431.Builder d = TransferDataSyn000431.newBuilder();
			if(bo.getStatus()!=null) d.setStatus(bo.getStatus().intValue());
			if(StringUtils.isNotEmpty(bo.getSerial())) d.setSerial(bo.getSerial());
			if(StringUtils.isNotEmpty(bo.getVin())) d.setVin(bo.getVin());
			if(StringUtils.isNotEmpty(bo.getVendorCode())) d.setVendorCode(bo.getVendorCode());
			if(StringUtils.isNotEmpty(bo.getModelCode())) d.setModelCode(bo.getModelCode());
			d.setCardType(bo.getCardType());
			d.setCountryStyle(bo.getCountryStyle());
			d.setCarUse(bo.getCarUse());
			d.setCarType(bo.getCarType());
			if(StringUtils.isNotEmpty(bo.getRegiesterCardNo()))d.setRegiesterCardNo(bo.getRegiesterCardNo());
			if(StringUtils.isNotEmpty(bo.getRegDate()))d.setRegDate(bo.getRegDate());
			d.setGainType(bo.getGainType());
			d.setCarMarketInCity(bo.getCarMarketInCity());
			d.setCarMarketInProv(bo.getCarMarketInProv());
			d.setPrice(bo.getPrice());
			d.setOwnerType(bo.getOwnerType());
			if(StringUtils.isNotEmpty(bo.getOwnerOrgNo()))d.setOwnerOrgNo(bo.getOwnerOrgNo());
			if(StringUtils.isNotEmpty(bo.getCarOwnerIdCardNo()))d.setCarOwnerIdCardNo(bo.getCarOwnerIdCardNo());
			if(StringUtils.isNotEmpty(bo.getCarOwner()))d.setCarOwner(bo.getCarOwner());
			if(StringUtils.isNotEmpty(bo.getOwnerPhone()))d.setOwnerPhone(bo.getOwnerPhone());
			if(StringUtils.isNotEmpty(bo.getOwnerAddress()))d.setOwnerAddress(bo.getOwnerAddress());
			d.setOwnerSex(bo.getOwnerSex());
			if(StringUtils.isNotEmpty(bo.getOwnerBirth()))d.setOwnerBirth(bo.getOwnerBirth());
			if(StringUtils.isNotEmpty(bo.getAgentOwnerIdCardNo()))d.setAgentOwnerIdCardNo(bo.getAgentOwnerIdCardNo());
			if(StringUtils.isNotEmpty(bo.getAgentName()))d.setAgentName(bo.getAgentName());
			if(StringUtils.isNotEmpty(bo.getAgentPhone()))d.setAgentPhone(bo.getAgentPhone());
			if(StringUtils.isNotEmpty(bo.getAgentAddress()))d.setAgentAddress(bo.getAgentAddress());
			d.setNewOwnerType(bo.getNewOwnerType());
			if(StringUtils.isNotEmpty(bo.getNewOwnerOrgNo())) d.setNewOwnerOrgNo(bo.getNewOwnerOrgNo());
			if(StringUtils.isNotEmpty(bo.getNewCarOwnerIdCardNo())) d.setNewCarOwnerIdCardNo(bo.getNewCarOwnerIdCardNo());
			if(StringUtils.isNotEmpty(bo.getNewCarOwner())) d.setNewCarOwner(bo.getNewCarOwner());
			if(StringUtils.isNotEmpty(bo.getNewOwnerPhone())) d.setNewOwnerPhone(bo.getNewOwnerPhone());
			if(StringUtils.isNotEmpty(bo.getNewOwnerAddress())) d.setNewOwnerAddress(bo.getNewOwnerAddress());
			d.setNewOwnerSex(bo.getNewOwnerSex());
			if(StringUtils.isNotEmpty(bo.getNewOwnerBirth()))d.setNewOwnerBirth(bo.getNewOwnerBirth());
			if(StringUtils.isNotEmpty(bo.getNewAgentOwnerIdCardNo()))d.setNewAgentOwnerIdCardNo(bo.getNewAgentOwnerIdCardNo());
			if(StringUtils.isNotEmpty(bo.getNewAgentName()))d.setNewAgentName(bo.getNewAgentName());
			if(StringUtils.isNotEmpty(bo.getNewAgentPhone()))d.setNewAgentPhone(bo.getNewAgentPhone());
			if(StringUtils.isNotEmpty(bo.getNewAgentAddress()))d.setNewAgentAddress(bo.getNewAgentAddress());
			if(StringUtils.isNotEmpty(bo.getMaterialImages1()))d.setMaterialImages1(bo.getMaterialImages1());
			if(StringUtils.isNotEmpty(bo.getMaterialImages2()))d.setMaterialImages2(bo.getMaterialImages2());
			if(StringUtils.isNotEmpty(bo.getMaterialImages3()))d.setMaterialImages3(bo.getMaterialImages3());
			if(StringUtils.isNotEmpty(bo.getMaterialImages4()))d.setMaterialImages4(bo.getMaterialImages4());
			if(StringUtils.isNotEmpty(bo.getMaterialImages5()))d.setMaterialImages5(bo.getMaterialImages5());
			if(StringUtils.isNotEmpty(bo.getMaterialImages6()))d.setMaterialImages6(bo.getMaterialImages6());
			if(StringUtils.isNotEmpty(bo.getMaterialImages7()))d.setMaterialImages7(bo.getMaterialImages7());
			if(StringUtils.isNotEmpty(bo.getMaterialImages8()))d.setMaterialImages8(bo.getMaterialImages8());
			if(StringUtils.isNotEmpty(bo.getMaterialImages9()))d.setMaterialImages9(bo.getMaterialImages9());
			if(StringUtils.isNotEmpty(bo.getMaterialImages10()))d.setMaterialImages10(bo.getMaterialImages10());
			d.setCatClass(bo.getCatClass());
			if(StringUtils.isNotEmpty(bo.getVendorId()))d.setVendorId(bo.getVendorId());
			if(StringUtils.isNotEmpty(bo.getBrandId()))d.setBrandId(bo.getBrandId());
			if(StringUtils.isNotEmpty(bo.getCarStyleId()))d.setCarStyleId(bo.getCarStyleId());
			if(StringUtils.isNotEmpty(bo.getCarName()))	d.setCarName(bo.getCarName());
			d.setIsMatch(bo.getIsMatch());
			if(StringUtils.isNotEmpty(bo.getMarketNo())) d.setMarketNo(bo.getMarketNo());
			message.setPayloadClass("TransferDataSyn000431");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}
		else if (work instanceof TransferDataSyn000432Bo) {
			TransferDataSyn000432Bo bo = (TransferDataSyn000432Bo) work;
			TransferDataSyn000432.Builder data = TransferDataSyn000432.newBuilder();
			if(StringUtils.isNotEmpty(bo.getSerial())) data.setSerial(bo.getSerial());
			if(StringUtils.isNotEmpty(bo.getVendorCode())) data.setVendorCode(bo.getVendorCode());
			if(StringUtils.isNotEmpty(bo.getModelCode())) data.setModelCode(bo.getModelCode());
			data.setCarType(bo.getCarType());
			data.setCarUse(bo.getCarUse());
			if(StringUtils.isNotEmpty(bo.getRegisterCardNo()))  data.setRegisterCardNo(bo.getRegisterCardNo());
			data.setCarMarketInCity(bo.getCarMarketInCity());
			data.setCarMarketInProv(bo.getCarMarketInProv());
			data.setPrice(bo.getPrice());
			data.setOwnerType(bo.getOwnerType());
			if(StringUtils.isNotEmpty(bo.getOwnerOrgNo())) data.setOwnerOrgNo(bo.getOwnerOrgNo());
			if(StringUtils.isNotEmpty(bo.getCarOwnerIdCardNo())) data.setCarOwnerIdCardNo(bo.getCarOwnerIdCardNo());
			if(StringUtils.isNotEmpty(bo.getCarOwner())) data.setCarOwner(bo.getCarOwner());
			if(StringUtils.isNotEmpty(bo.getOwnerPhone())) data.setOwnerPhone(bo.getOwnerPhone());
			if(StringUtils.isNotEmpty(bo.getOwnerAddress())) data.setOwnerAddress(bo.getOwnerAddress());
			data.setOwnerSex(bo.getOwnerSex());
			if(StringUtils.isNotEmpty(bo.getOwnerBirth())) data.setOwnerBirth(bo.getOwnerBirth());
			data.setNewOwnerType(bo.getNewOwnerType());
			if(StringUtils.isNotEmpty(bo.getNewOwnerOrgNo())) data.setNewOwnerOrgNo(bo.getNewOwnerOrgNo());
			if(StringUtils.isNotEmpty(bo.getNewCarOwnerIdCardNo())) data.setNewCarOwnerIdCardNo(bo.getNewCarOwnerIdCardNo());
			if(StringUtils.isNotEmpty(bo.getNewCarOwner())) data.setNewCarOwner(bo.getNewCarOwner());
			if(StringUtils.isNotEmpty(bo.getNewOwnerPhone())) data.setNewOwnerPhone(bo.getNewOwnerPhone());
			if(StringUtils.isNotEmpty(bo.getNewOwnerAddress())) data.setNewOwnerAddress(bo.getNewOwnerAddress());
			data.setNewOwnerSex(bo.getNewOwnerSex());
			if(StringUtils.isNotEmpty(bo.getMaketNo())) data.setMaketNo(bo.getMaketNo());
			data.setStatus(bo.getStatus());
			bo.setChangeTradeTicket(bo.getChangeTradeTicket());
			message.setPayloadClass("TransferDataSyn000432");
			message.setPayloadData(data.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}
		else if (work instanceof TransferDataSyn000433Bo) {
			TransferDataSyn000433Bo bo = (TransferDataSyn000433Bo) work;
			TransferDataSyn000433.Builder d = TransferDataSyn000433.newBuilder();
			if(StringUtils.isNotEmpty(bo.getMarketNo()))	d.setMaketNo(bo.getMarketNo());
			if(StringUtils.isNotEmpty(bo.getRemark()))	d.setRemark(bo.getRemark());
			d.setSerial(bo.getSerial());
			d.setStatus(bo.getStatus());
			message.setPayloadClass("TransferDataSyn000433");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		} else if (work instanceof TransferDataSyn000434Bo) {
			TransferDataSyn000434Bo bo = (TransferDataSyn000434Bo) work;
			TransferDataSyn000434.Builder d = TransferDataSyn000434.newBuilder();
			d.setSerial(bo.getSerial());
			d.setStatus(bo.getStatus());
			d.setMaketNo(bo.getMarketNo());
			d.setBusinessType(bo.getStatus());
			message.setPayloadClass("TransferDataSyn000434");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}
		else if (work instanceof TransferDataSyn000435Bo) {
			TransferDataSyn000435Bo bo = (TransferDataSyn000435Bo) work;
			TransferDataSyn000435.Builder d = TransferDataSyn000435.newBuilder();
			if(StringUtils.isNotEmpty(bo.getMarketNo()))	d.setMaketNo(bo.getMarketNo());
			if(StringUtils.isNotEmpty(bo.getNewLicensePlate()))d.setNewLicensePlate(bo.getNewLicensePlate());
			d.setSerial(bo.getSerial());
			d.setStatus(bo.getStatus());
			d.setDetailStatus(bo.getDetailStatus());
			if(StringUtils.isNotEmpty(bo.getMemberId()))d.setMemberId(bo.getMemberId());
			if(StringUtils.isNotEmpty(bo.getWxContent()))d.setWxContent(bo.getWxContent());
			message.setPayloadClass("TransferDataSyn000435");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000436Bo) {
			TransferDataSyn000436Bo bo = (TransferDataSyn000436Bo) work;
			TransferDataSyn000436.Builder d = TransferDataSyn000436.newBuilder();
			d.setMaketNo(bo.getMarketNo());
			d.setRemark(bo.getRemark());
			d.setSerial(bo.getSerial());
			d.setStatus(bo.getStatus());
			d.setSerial(bo.getSerial());
			message.setPayloadClass("TransferDataSyn000436");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn000437Bo) {
			TransferDataSyn000437Bo bo = (TransferDataSyn000437Bo) work;
			TransferDataSyn000437.Builder d = TransferDataSyn000437.newBuilder();
			d.setMaketNo(bo.getMarketNo());
			d.setRemark(bo.getRemark());
			d.setSerial(bo.getSerial());
			d.setStatus(bo.getStatus());
			d.setSerial(bo.getSerial());
			message.setPayloadClass("TransferDataSyn000437");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof SynAttnBo) {
			SynAttnBo bo = (SynAttnBo) work;
			SynAttn.Builder d = SynAttn.newBuilder();
			d.setAttnId(bo.getAttnId());
			d.setMemberId(bo.getMemberId());
			d.setAttnName(bo.getAttnName());
			d.setAttnPhone(bo.getAttnPhone());
			d.setAccessCardNo(bo.getAccessCardNo());
			d.setUserId(bo.getUserId());
			message.setPayloadClass("SynAttn");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn1304Bo) {
			TransferDataSyn1304Bo bo = (TransferDataSyn1304Bo) work;
			TransferDataSyn1304.Builder d = TransferDataSyn1304.newBuilder();
			d.setFinanciaId(bo.getFinanciaId());
			d.setFinanciaName(bo.getFinanciaName());
			d.setShortName(bo.getShortName());
			d.setRealNamePy(bo.getRealNamePy());
			d.setContactOwner(bo.getContactOwner());
			d.setContactPhone(bo.getContactPhone());
			d.setUserId(bo.getUserId());
			d.setMarketNo(bo.getMarketNo());
			message.setPayloadClass("TransferDataSyn1304");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn438Bo) {
			TransferDataSyn438Bo bo = (TransferDataSyn438Bo) work;
			TransferDataSyn438.Builder data = TransferDataSyn438.newBuilder();
			data.setSerial(bo.getSerial());
			if(StringUtils.isNotEmpty(bo.getVin())) data.setVin(bo.getVin());
			if(StringUtils.isNotEmpty(bo.getLicensePlate())) data.setLicensePlate(bo.getLicensePlate());
			data.setCyCardType(bo.getCyCardType());
			data.setPhoto1(bo.getPhoto1());
			data.setMaketNo(bo.getMarkteNo());
			  
			//
			message.setPayloadClass("TransferDataSyn438");
			message.setPayloadData(data.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}else if (work instanceof TransferDataSyn1305Bo) {
			TransferDataSyn1305Bo bo = (TransferDataSyn1305Bo) work;
			TransferDataSyn1305.Builder d = TransferDataSyn1305.newBuilder();
			if(StringUtil.isNotBlank(bo.getSerial())) d.setSerial(bo.getSerial());
			if(StringUtil.isNotBlank(bo.getFinancialSerial())) d.setFinancialSerial(bo.getFinancialSerial());
			if(StringUtil.isNotBlank(bo.getFinanciaId())) d.setFinanciaId(bo.getFinanciaId());
			if(StringUtil.isNotBlank(bo.getMemberId())) d.setMemberId(bo.getMemberId());
			d.setStatus(bo.getStatus());
			d.setRegisterStatus(bo.getRegisterStatus());
			d.setBarCodeNum(bo.getBarCodeNum());
			if(StringUtil.isNotBlank(bo.getTemporary())) d.setTemporary(bo.getTemporary());
			if(StringUtil.isNotBlank(bo.getLicensePlate())) d.setLicensePlate(bo.getLicensePlate());
			if(StringUtil.isNotBlank(bo.getVin())) d.setVin(bo.getVin());
			d.setAttestStatus(bo.getAttestStatus());
			if(StringUtil.isNotBlank(bo.getReportPhoto())) d.setReportPhoto(bo.getReportPhoto());
			if(StringUtil.isNotBlank(bo.getSerial())) d.setValuations(bo.getValuations());
			d.setLoanLimit(bo.getLoanLimit());
			if(StringUtil.isNotBlank(bo.getStartDate())) d.setStartDate(bo.getStartDate());
			if(StringUtil.isNotBlank(bo.getEndDate())) d.setEndDate(bo.getEndDate());
			if(StringUtil.isNotBlank(bo.getMaterialImages1())) d.setMaterialImages1(bo.getMaterialImages1());
			if(StringUtil.isNotBlank(bo.getMaterialImages2())) d.setMaterialImages2(bo.getMaterialImages2());
			if(StringUtil.isNotBlank(bo.getMaterialImages3())) d.setMaterialImages3(bo.getMaterialImages3());
			if(StringUtil.isNotBlank(bo.getRemark())) d.setRemark(bo.getRemark());
			if(StringUtil.isNotBlank(bo.getInsertTime())) d.setInsertTime(bo.getInsertTime());
			d.setInsertUserId(bo.getInsertUserId());
			if(StringUtil.isNotBlank(bo.getUpdateTime())) d.setUpdateTime(bo.getUpdateTime());
			d.setUpdateUserId(bo.getUpdateUserId());
			d.setMarketNo(bo.getMarketNo());
			if(StringUtil.isNotBlank(bo.getTempLicensePlate())) d.setTempLicensePlate(bo.getTempLicensePlate());
			message.setPayloadClass("TransferDataSyn1305");
			message.setPayloadData(d.build().toByteString());
			return MQ_TRANSFER_PRODUCTER.send(message, isPersistence);
		}
		
		return null;
	}
}
